# 声明元组
# 和js的常量相似，声明的时候必须赋值
tuple1 = (1,2,3)

# 如果只有一个元素，为了和数学的小括号区分，需要加一个逗号在末尾
tuple2 = ("a",)

# 也可以去掉括号直接使用逗号
# 这种方式就是python中常用的值交换位置的原理
tuple3 = 1,2,3

# ************ 下标访问 ************
print(tuple3) # (1, 2, 3)
print(tuple3[0]) # 1
print(tuple3[-1]) # 3

# **************关于不可变性***************
# 相当于存储了一堆常量
tuple5 = ('a','b',[1,2,3])
print(tuple5)# ('a', 'b', [1, 2, 3])

# 元组的第三个元是一个列表
'''
    我们会发现元组中列表的值改变了
    这是因为元组中列表的地址没有变，

    改变列表的值并不会改变列表地址
'''
tuple5[2][0] = 10
print(tuple5)#('a', 'b', [10, 2, 3])


